/**
 * 
 */
package com.ginger.service;

import java.util.List;

import com.ginger.model.User;

/**
 * @Description: Auth业务层
 * @author 姜锋
 * @date 2018年6月27日 下午4:03:02 
 * @version V1.0   
 *
 */
public interface AuthService {

	/**
	 * @Description: 通过帐号获取用户信息
	 * @author 姜锋
	 * @date 2018年6月27日 下午4:13:38
	 * @param @param principal
	 * @param @return
	 * @return User
	 * @throws
	 */
	User findByUserCode(String principal);

	/**
	 * @Description: 获取所有权限
	 * @author 姜锋
	 * @date 2018年6月27日 下午4:13:49
	 * @param @return
	 * @return List<String>
	 * @throws
	 */
	List<String> queryAdminPerms();

	/**
	 * @Description:通过帐号获取对应权限
	 * @author 姜锋
	 * @date 2018年6月27日 下午4:14:01
	 * @param @param userId
	 * @param @return
	 * @return List<String>
	 * @throws
	 */
	List<String> queryRolePermCodeByUser(Long userId);

	/**
	 * @Description: 获取所有角色
	 * @author 姜锋
	 * @date 2018年6月27日 下午4:14:11
	 * @param @return
	 * @return List<String>
	 * @throws
	 */
	List<String> checkAllRole();

	/**
	 * @Description: 通过帐号获取对应角色
	 * @author 姜锋
	 * @date 2018年6月27日 下午4:14:21
	 * @param @param userName
	 * @param @return
	 * @return List<String>
	 * @throws
	 */
	List<String> checkRole(String userName);
	
}
